package com.yxb.order.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yxb.common.annotation.Excel;
import com.yxb.common.core.domain.BaseEntity;

/**
 * 教学订单合约对象 teaching_order
 * 
 * @author 林德炫
 * @date 2025-03-04
 */
public class TeachingOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 教学订单合约id */
    private Long orderId;

    /** 关联需求ID */
    @Excel(name = "关联需求ID")
    private Long requestId;

    /** 教员ID */
    @Excel(name = "教员ID")
    private Long teacherId;

    /** 开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 约定总课时 */
    @Excel(name = "约定总课时")
    private Long totalHours;

    /** 状态 */
    @Excel(name = "状态")
    private String orderStatus;

    /** 合约条款 */
    @Excel(name = "合约条款")
    private String contractDetails;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setRequestId(Long requestId) 
    {
        this.requestId = requestId;
    }

    public Long getRequestId() 
    {
        return requestId;
    }
    public void setTeacherId(Long teacherId) 
    {
        this.teacherId = teacherId;
    }

    public Long getTeacherId() 
    {
        return teacherId;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setTotalHours(Long totalHours) 
    {
        this.totalHours = totalHours;
    }

    public Long getTotalHours() 
    {
        return totalHours;
    }
    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }
    public void setContractDetails(String contractDetails) 
    {
        this.contractDetails = contractDetails;
    }

    public String getContractDetails() 
    {
        return contractDetails;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("requestId", getRequestId())
            .append("teacherId", getTeacherId())
            .append("startDate", getStartDate())
            .append("totalHours", getTotalHours())
            .append("orderStatus", getOrderStatus())
            .append("contractDetails", getContractDetails())
            .append("createTime", getCreateTime())
            .toString();
    }
}
